A virtual tape library (VTL) is a system in which a tape drive is virtually implemented on a disk device so as to appear to a high-order apparatus, such as a host computer, as if the tape drive were connected (refer to, for example, Japanese Laid-open Patent Publication No. 2005-122433). In the technology of the virtual tape library, data is written for each block to the disk device.
The virtual tape library can be easily implemented without making significant changes to the operation of a legacy physical tape library. In addition, the virtual tape library can speed up processing, such as backup.
In the virtual tape library, data may also be compressed when it is written to a disk device or tape drive (refer to, for example, Japanese Laid-open Patent Publication Nos. 2005-99971 and 2008-152778). In the known data compression schemes for the virtual disk library, a data compression/uncompression determination is made for each file. For example, the first one of blocks in the data field of a file is compressed and the compression residue ratio of the compressed block is compared with a predetermined threshold. When the compression residue ratio is lower than or equal to the threshold, all of the blocks included in the file are compressed and recorded to a storage device.
The term “compression residue ratio” as used herein refers to the ratio (percentage) of the size of compressed data to the size of uncompressed data and is also called a “compression ratio”. A smaller numeric value of the compression residue ratio indicates that the size of compressed data is smaller and the compression efficiency is higher.
FIG. 18 illustrates a compression residue ratio versus processing time. As illustrated in FIG. 18, the time needed to process a compressed block includes data transfer time and compression/decompression time.
The data transfer time is the time needed for transferring data and is proportional to the data size. The compression/decompression time is the time needed for compressing/decompressing the data and includes, for example, the time for creating/storing a dictionary table used for compression/decompression and the time for referring to the dictionary table. The compression/decompression time is constant, regardless of the data size.
Accordingly, there is a problem in that compressed data whose compression residual ratio exceeds a specific value (90% in the example illustrated in FIG. 18) needs a longer processing time than the processing time for a case in which the data is recorded to an uncompressed state that does not need the compression/decompression time.
In addition, for the compressed data, accompanying information, such as a compression dictionary, also needs to be recorded. Thus, when the compression residual ratio exceeds the specific value (e.g., 90%), the amount of data increases compared to a case in which the data is recorded uncompressed.